import http from '@/utils/httpRequest'
import i18n from '../locales'

/**
 * 文件大小（字节 转 KB）
 * @param {*} row, column
 */
export function fileSizeFormat (row, column) {
  if (row.fileSize <= 0) {
    return 0 + ' KB'
  } else {
    return Math.ceil(row.fileSize / 1024) + ' KB'
  }
}

/**
 * 是否状态
 * @param {*} row, column
 */
export function yesOrNoFormat (row, column) {
  if (row[column.property] === 'Y') {
    return i18n['main.enum.YES']
  } else {
    return i18n['main.enum.NO']
  }
}

/**
 * 用户类型
 * @param {*} row, column
 */
export function userTypeFormat (row, column) {
  if (row.userType === 1) {
    return i18n['user.type.admin']
  } else {
    return i18n['user.type.normal']
  }
}

/**
 * 启用状态，1 启用，0 禁用
 * @param {*} row, column
 */
export function disableFlagFormat (row, column) {
  if (row.disableFlag === 0) {
    return i18n['gobal.field.disableFlag.NO']
  } else if (row.disableFlag === 1) {
    return i18n['gobal.field.disableFlag.YES']
  } else {
    return i18n['gobal.hint.unknown']
  }
}

/**
 * 激活状态，1 激活，0 未激活
 * @param {*} row, column
 */
export function activedFormat (row, column) {
  if (row.activeStatus === 1) {
    return i18n['gobal.field.activeStatus.YES']
  } else if (row.activeStatus === 0) {
    return i18n['gobal.field.activeStatus.NO']
  } else {
    return i18n['gobal.hint.unknown']
  }
}

/**
 * 余额金额的显示格式，保留两位小数
 * @param {*} row, column
 */
export function balanceFormat (row, column) {
  var balance = row[column.property];
  if (balance == undefined) {
    return '--'
  } else {
    return i18n['gobal.tag.money'] + balance.toFixed(2)
  }
}

/**
 * 日期时间显示格式，yyyy-MM-dd hh:mm:ss.zzz
 * @param {*} row, column
 */
export function datetimeFormat (row, column) {
  var date = row[column.property];
  return datetimeToStr(date)
  // if (date == undefined) {
  //   return ''
  // } else {
  //   var dt = new Date(date)
  //   return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate() + ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds()
  // }
}

/**
 * 日期时间显示格式，yyyy-MM-dd hh:mm:ss.zzz
 * @param {*} row, column
 */
export function datetimeToStr (datetimeValue) {
  if (datetimeValue == undefined) {
    return ''
  } else {
    var dt = new Date(datetimeValue)
    return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate()
      + ' ' + dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds()
      + '.' + dt.getMilliseconds()
  }
}

export function configNameFromType (configType, configList) {
  if (configList == undefined || configList == undefined || configList.length <= 0) {
    return configType
  } else {
    for (let index = 0; index < configList.length; index++) {
      const element = configList[index];
      if (element.paramKey === configType) {
        return element.paramValue
      }
    }
  }
  return configType
}

